====== Serveur Trackmania sous linux ======

Nous allons voir comment installer et faire fonctionner un serveur dédié pour Trackmania sous linux (voir [[trackmania_nations_forever]]). Nous verrons aussi l'utilisation de [[http://www.tm-forum.com/viewforum.php?f=126|Fast 3]].


===== Téléchargement et installation du serveur Trackmania =====
 ==== Pour installer le serveur dédier Trackmania ====
  * Créer un dossier pour le serveur Trackmania et entrer dedans.
<code>cd ~
mkdir TMServeur
cd TMServeur </code>
  * Télécharger le serveur et le décompresser dans le répertoire.
<code>wget http://files2.trackmaniaforever.com/TrackmaniaServer_2008-12-05.zip 
unzip TrackmaniaServer_2008-12-05.zip</code>
  * Pour pouvoir lancer le serveur facilement, on créé un script.
<code>nano RunTrackmaniaServer.sh</code>
  * Voici un exemple. Pour plus d'options, il est vivement recommandé de voir la section [[serveur_trackmania#Configuration du serveur]].
<file>#!/bin/sh

./TrackmaniaServer /dedicated_cfg=dedicated.cfg /game_settings=MatchSettings/Nations/NationsBlue.txt</file>
  * Rendre le script exécutable
<code>chmod +x RunTrackmaniaServer.sh</code>
  * Copier le fichier de configuration original.
<code>cp ~/TMServeur/GameData/Config/dedicated_cfg.txt ~/TMServeur/GameData/Config/dedicated.cfg</code>
  * Il faut impérativement modifier le fichier ''dedicated.cfg'' (voir section [[serveur_trackmania#Configuration du serveur]]).

  * Pour démarrer le serveur, on utilise la commande suivante:
<code>./RunTrackmaniaServer.sh</code>



===== Configuration du serveur =====
==== Script ''RunTrackmaniaServer.sh'' ====

  * Editer votre fichier ''RunTrackmaniaServer.sh''
<code>nano ~/TMServeur/RunTrackmaniaServer.sh</code>

=== Explication des options essentielles ===

**/dedicated_cfg=dedicated.cfg**

Spécifie quel est le fichier de configuration. (Il doit être dans ~/TMServeur/GameData/Config/)

**/game_settings=MatchSettings/Nations/NationsBlue.txt**

Spécifie le fichier des options du jeu. (Regardez dans ~/TMServeur/GameData/Tracks/MatchSettings/ pour en trouver d'autres. Vous pouvez aussi en créer des vous-même et les placer dans ~/TMServeur/GameData/Tracks/MatchSettings/.)

=== Options très utiles ===

**/nodaemon** (pour que le processus ne soit pas détaché, cela évite de devoir tuer le serveur avec la commande ''kill'', un simple ''Ctrl+C'' est suffisant)

**/internet** (pour que le serveur soit sur internet et pas seulement en LAN)

=== Autres options ===
Une liste complète des options se trouve dans ~/TMServeur/Readme_Dedicated.html.
En voici une ou deux:

**/login=xxx** (définit votre ''login'' Trackmania, remplace la valeur qui se trouve dans ''dedicated.cfg'')

**/password=xxx** (définit votre ''password'' Trackmania qui va avec votre ''login'', remplace la valeur de ''dedicated.cfg'')

**/servername=xxx** (nom de votre serveur, remplace la valeur de ''dedicated.cfg'')

==== Fichier de configuration ''dedicated.cfg'' ====

  * Pour l'éditer, faites:
<code>
nano ~/TMServeur/GameData/Config/dedicated.cfg
</code>

  * On commence par modifier les mots de passe. Vous pouvez mettre ceux que vous voulez.
<file>
<authorization_levels>
                <level>
                        <name>SuperAdmin</name>
                        <password>toto</password>
                </level>
                <level>
                        <name>Admin</name>
                        <password>tata</password>
                </level>
                <level>
                        <name>User</name>
                        <password>asdf</password>
                </level>
</authorization_levels>
</file>

  * Pour Trackmania Nations Forever:
Le compte masterserver est un compte Trackmania Nations classique, je vous conseil d'utiliser deux comptes différents: un pour le serveur et un pour jouer.
<file>
 <masterserver_account>
                <login>votre_login_serveur</login>
                <password>xxxxxx</password>
                <nation>FRA</nation>
 </masterserver_account>
</file>
  * Pour Trackmania United Forever:

- Il faut créer un deuxième //login// TMU uniquement pour votre serveur, pour cela, allez sur [[https://official.trackmania.com/tmf-dedicated/]]  ;-). On vous demande un login et un password, entrez celui que vous utilisez pour jouer en ligne. Ensuite, vous devez entrez votre clé TMU (celle qui devrait être dans la boîte du jeu). Remplissez les cases //Server login//, //Server password// et choisissez votre région. Cliquez sur //Save this Server// pour créer votre nouveau //login//.

- Vous pouvez maintenant remplir les options du fichier de configuration avec votre login pour serveur dédié et le mot de passe qui va avec, ainsi que votre clé TMU.
<file>
 	<masterserver_account>
		<login>votre_nouveau_login_tmu</login>
		<password>xxxxxx</password>
		<validation_key>XXXX-XXXX-XXXX-XXXX-XXX</validation_key>
	</masterserver_account>
</file>

  * On arrive aux paramètres de base du serveur.
Dans //<name>// vous pouvez changer le nom de votre serveur. Vous pouvez utiliser des couleurs avec les balises (//$f00//). Plus d'infos [[trackmania_nations_forever##utilisation|ici]].
Vous pouvez aussi Changer le message de bienvenue (celui qui s'affiche lorsqu'on clique sur votre serveur), le nombre de joueur max et de spectateurs max, le mot de passe joueur et spectateur, choisir si votre serveur sera au //ladder// ou pas. (//inactive// = non et //forced// = forcé).

<file>
<server_options>
                <name>$f00Serveur</name>
                <comment>bienvenue</comment>
                <max_players>50</max_players>
                <password></password>
                <max_spectators>2</max_spectators>
                <password_spectator></password_spectator>
                <ladder_mode>normal</ladder_mode> // value between 'inactive', 'normal' and 'forced' (or '0', '1', '2')
                <enable_p2p_upload>True</enable_p2p_upload>
                <enable_p2p_download>True</enable_p2p_download>
                <callvote_timeout>60000</callvote_timeout>
                <callvote_ratio>0.5</callvote_ratio>
                <allow_challenge_download>True</allow_challenge_download>
</server_options>
</file>
  * Et voilà les options de connection.
Il faut changer //<connection_downloadrate>// et //<connection_uploadrate>// en fonction de votre connection internet.
Ensuite, on peut éventuellement changer le port pour les requête XML, personnellement je n'y ai pas touché.
Par contre, mettez //<xmlrpc_allowremote>// sur //True// (par défaut //False//).
J'ai aussi changé les ports du serveur (//<server_port>// et //<server_p2p_port>//) et je les ai ouvert sur mon routeur.
Définissez le packmask (par exemple: nations) ou laissez simplement vide pour jouer n'importe quel type de circuit.
<file>
<system_config>
		<connection_uploadrate>512</connection_uploadrate>		<!-- Kb/s -->
		<connection_downloadrate>8192</connection_downloadrate>		<!-- Kb/s -->

		<force_ip_address></force_ip_address>
                <server_port>2352</server_port>
                <server_p2p_port>3452</server_p2p_port>
                <client_port>0</client_port>
                <xmlrpc_port>5000</xmlrpc_port>
                <xmlrpc_allowremote>True</xmlrpc_allowremote>  // if you specify an ip adress here, it'll be the only accepted adress. this will improve security.
                <bind_ip_address></bind_ip_address>
                <force_ip_address></force_ip_address>
                <use_proxy>False</use_proxy>
                <proxy_login></proxy_login>
                <proxy_password></proxy_password>
                <blacklist_url></blacklist_url>
		
		<packmask></packmask>
</system_config>
</file>

Votre serveur est enfin opérationnel. Démarrez-le avec le script ''RunTrackmaniaServer.sh''. ;-)
==== Fichiers ''MatchSettings'' ====

=== Méthode simple ===
Pour créer facilement un fichier ''MatchSettings'' personnalisé, démarrez Trackmania. Dans le menu, allez dans "Jeu à Plusieurs", puis dans "Sur un réseau local". Créez un serveur à l'aide du bouton en bas à gauche, choisissez les paramètres du serveur, tel que le mode de jeu, le nombre de joueurs max, la limite de point, etc. Cliquez sur "Lancer". Ensuite, cliquez en bas à gaucher sur "Mes Circuits" ou sur "Circuits téléchargés" puis choisissez les circuits que vous voulez ajouter. Pour finir, cliquez en bas à gauche sur "Sauver réglages" et indiquez le nom du fichier ''MatchSettings'' personnalisé.

Votre fichier ''MatchSettings'' sera alors enregistré dans "~/TrackMania/Tracks/MatchSettings/". Je vous conseille de créer un lien symbolique pour pouvoir accéder aux fichier MatchSettings de votre jeu depuis le serveur. Pour cela: <code>ln -s ~/TrackMania/Tracks/MatchSettings ~/TMServeur/GameData/Tracks/MatchSettings/Trackmania</code>
Pour lancer le serveur avec votre fichier ''MatchSettings'' personnalisé, modifier le lanceur et indiquez: /game_settings=MatchSettings/Trackmania/votre-fichier-matchsettings.txt

=== Méthode "à la main"===
(à finir)

===== Utilisation de Fast 3 =====

Pour ajouter d'autres améliorations à votre serveur, rendez-vous [[http://www.tm-forum.com/viewforum.php?f=28|ici]]. Nous allons voir en détail comment utiliser [[http://www.tm-forum.com/viewforum.php?f=126|Fast 3]].
==== Dépendances ====
Il vous faut php5. Si vous ne l'avez pas encore:
<code>sudo aptitude install php5-cli</code>

==== Installation ====
Aller dans le dossier du serveur Trackmania.
<code>cd ~/TMServeur</code>
Télécharger et décompresser Fast 3.
<code>wget http://slig.free.fr/fast3.2/fast3.2.2c-winphp5.zip
unzip fast3.2.2c-winphp5.zip</code>

==== Utilisation ====

(Le lisez-moi est [[http://slig.free.fr/fast3.2/fast_lisezmoi.txt|ici]])

Pour démarrer Fast 3, tappez la commande:
<code>php5 fast.php GameData/Config/dedicated.cfg</code>

Une fois que Fast 3 est lancé, vous pouvez contrôler votre serveur directement depuis le jeu. Lancez Trackmania et connectez-vous à votre serveur. Faites //espace// (comme pour parler) et tappez votre commande: ///help// (pour afficher la liste des commandes). La liste complète est [[http://slig.free.fr/fast3.2/doc/fast_commands_en.txt|ici]].

<note important>La première personne qui se connecte à votre serveur et qui tappe une commande devient automatiquement administrateur. Pour ajouter d'autres admin il faut utiliser ///admin addlogin [nom_du_login]//.</note>

Le serveur se connecte à [[http://www.dedimania.net|Dedimania]] pour récupérer les reccords, allez faire un tour sur le site.

Voilà, Fast 3 est opérationnel, amusez vous bien sur votre nouveau serveur! ;-)

===== aseco gestionnaire serveur Trackmania =====

(Cette section n'est pas finie !)

==== Dépendances ====

Pour pouvoir installer aseco il vous faut mysql, apache et php5:
<file>
sudo aptitude update
sudo aptitude install apache2 apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql phpmyadmin php5 php5-gd php5-cli php5-cgi </file>

==== Installation ====

<file>cd /usr/games/tmnf
wget http://surfnet.dl.sourceforge.net/sourceforge/aseco/asecotmf_216.zip
unzip asecotmf_216.zip
cp newinstall/* /usr/games/tmnf/</file> 





===== Sources =====

[[http://www.nokytech.net/wiki-article-43-art.html]]

[[http://www.tm-forum.com/viewforum.php?f=28]]